package org.dromara.module.domain;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serial;

/**
 * 小程序用户对象 wx_user
 *
 * @author Lion Li
 * @date 2025-04-01
 */
@Data
@TableName("wx_user")
public class WxUser implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @TableId(value = "id",type = IdType.AUTO)
    private Integer id;

    /**
     * 用户编号
     */
    private String userNo;

    /**
     * 昵称
     */
    private String nickName;

    /**
     * 真实姓名
     */
    private String realName;

    /**
     * 手机号
     */
    private String phoneNum;

    /**
     * 来自平台 微信小程序
     */
    private String platform;

    /**
     * vip等级
     */
    private Integer vipLevel;

    /**
     * 头像地址
     */
    private String faceUrl;

    /**
     * 性别
     */
    private Integer sex;

    /**
     * 所处省份
     */
    private String province;

    /**
     * 所处城市
     */
    private String city;

    /**
     * 所在区县
     */
    private String district;

    /**
     * wx session_key
     */
    private String sessionKey;

    /**
     * 最后一次的登录时间
     */
    private Date lastActiveTime;

    /**
     * 最后的登录ip
     */
    private String lastLoginIp;

    /**
     * 身份验证token
     */
    private String token;

    /**
     * 微信的openid
     */
    private String openId;

    /**
     * 微信的unionid
     */
    private String unionId;

    /**
     * 用户类型 0 - 普通用户  1 - 商家用户
     */
    private Integer userType;

    /**
     * 是否是平台管理员 0 - 否 1 - 是
     */
    private Integer isAdmin;

    /**
     * sysuser 表的id
     */
    private Integer sysUserId;

    /**
     * 经度
     */
    private BigDecimal lng;

    /**
     * 纬度
     */
    private BigDecimal lat;

    /**
     *  添加时间
     */
    private Date createTime;
}
